package com.linln.modules.system.service;

import com.linln.modules.system.domain.*;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;

import java.util.Date;

public interface RPatientService {
    Page<PatientBaseInfoEntity> getPagePatientBaseList(Example<PatientBaseInfoEntity> example);

    //得到患者基本信息
    PatientBaseInfoEntity getPatientBaseInfoByid(Integer patientID);

    //查询患者基本信息
    PatientBaseInfoEntity getPatientBaseInfoByBAHAndCyrq(String bah,Date cyrq);

    //得到患者临床信息
    PatientClinicalInformationEntity getPatientClinicalInfoByBAH(String bah);

    //得到患者出生情况
    PatientBirthSituationEntity getPatientBirthInfoByBAH(String bah);

    //得到患者血亲父母
    PatientParentsSituationEntity getPatientParentsInfoByBAH(String bah);

    //得到患者费用情况
    PatientCostInformationEntity getPatientCostInfoByBAH(String bah);

    //得到患者个人情况
    PatientPersonalSituationEntity getPatientPersonalInfoByBAH(String bah);

    //得到患者临床信息
    PatientClinicalInformationEntity getPatientClinicalInfoByBAH(String bah,Date cyrq);

    //得到患者出生情况
    PatientBirthSituationEntity getPatientBirthInfoByBAH(String bah,Date cyrq);

    //得到患者血亲父母
    PatientParentsSituationEntity getPatientParentsInfoByBAH(String bah,Date cyrq);

    //得到患者费用情况
    PatientCostInformationEntity getPatientCostInfoByBAH(String bah,Date cyrq);

    //得到患者个人情况
    PatientPersonalSituationEntity getPatientPersonalInfoByBAH(String bah,Date cyrq);

    //得到患者病案首页费用信息
    PatientBaCostInformationEntity getPatientBaCostInformationByBAHAndCyrq(Integer BAH, Date Cyrq);

    //保存患者基本信息
    void savePatientBaseInfo(PatientBaseInfoEntity patientBaseInfoEntity);
    //保存患者临床信息
    void savePatientClinicalInformation(PatientClinicalInformationEntity patientClinicalInformationEntity);
    //保存患者出生情况
    void savePatientBirthSituation(PatientBirthSituationEntity patientBirthSituationEntity);
    //保存患者血亲父母
    void savePatientParentsSituation(PatientParentsSituationEntity patientParentsSituationEntity);
    //保存患者费用情况
    void savePatientCostInformation(PatientCostInformationEntity patientCostInformationEntity);
    //保存患者个人情况
    void savePatientPersonalSituation(PatientPersonalSituationEntity patientPersonalSituationEntity);
    //保存患者病案首页费用信息
    void savePatientBACostInformation(PatientBaCostInformationEntity patientBaCostInformationEntity);
    //得到患者人数
    long getPatientCount();
}

